It has been observed that there are often many duplicated cache lines in the memory of an operating system. Although it is possible for software to scan memory and detect duplicated content, using software in such a manner is often very expensive. Instead, a more economical and efficient approach is to use hardware to detect data patterns in the memory.